import { ApiProperty } from '@nestjs/swagger'

/**
 * 班级考勤周期统计数据
 */
export class AttendancePeriodStatisticsDto {
  @ApiProperty({ description: '实际打卡总数' })
  actualCheckins: number

  @ApiProperty({ description: '理论应打卡总数' })
  theoreticalCheckins: number

  @ApiProperty({ description: '日均打卡数' })
  dailyAverageCheckins: number

  @ApiProperty({ description: '打卡率', example: '85%' })
  attendanceRate: string
}

/**
 * 班级考勤统计数据DTO
 */
export class ClassAttendanceStatisticsDto {
  @ApiProperty({ description: '班级ID' })
  classId: string

  @ApiProperty({ description: '班级名称' })
  className: string

  @ApiProperty({ description: '学生数量' })
  studentCount: number

  @ApiProperty({ description: '总体考勤数据' })
  total: AttendancePeriodStatisticsDto

  @ApiProperty({ description: '当前季度考勤数据' })
  quarter: AttendancePeriodStatisticsDto

  @ApiProperty({ description: '当前月度考勤数据' })
  month: AttendancePeriodStatisticsDto

  @ApiProperty({ description: '当前周度考勤数据' })
  week: AttendancePeriodStatisticsDto
} 